package com.zhongwang.mms.module.buy.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhongwang.mms.base.BaseModel;
import lombok.Data;

import java.util.Calendar;
import java.util.Date;


/**
 * @Description: 项目计划看板 model
 * @Author: China.kxx
 * @Date: 2020/03/29 12:38
 */
@Data
public class PurchaseModel extends BaseModel {

    private Integer rppId;

    private Integer proProjectId;
    /**
     * 看板系统项目名称
     */
    private String name;
    /**
     * 项目编码检索名称
     */
    private String code;

    /**
     * 提报计划项目编号
     */
    private String rppProjectCode;

    /**
     * 安装地点
     */
    private String address;

    /**
     * 需方
     */
    private String demander;
    /**
     * 设计科室
     */
    private String designDepts;

    /**
     * 看板系统项目制作数量
     */
    private Integer num;

    /**
     * 看板系统设计完成状况
     */
    private Integer designTaskStatus;

    private Integer projectClassify; // 项目分类 1：设计类   2：非设计类

    /**
     * 物资系统设计完成状况   检索条件
     */
    private Integer designPoint;

    /**
     * 项目状态
     */
    private Integer proProductionStatus;

    /**
     * 项目状态      检索条件  1是未开始,2是生产中,3是已完成,4是已取消   检索条件
     */
    private Integer projectStatus;

    /**
     * 外购计划数量
     */
    private Integer plannedQuantity;

    /**
     * 使用库存数量
     */
    private Integer usableStock;

    /**
     * 是否全部回货
     */
    private Integer sign;

    /**
     * 是否全部回货  检索条件
     */
    private Integer projectSign;
    /**
     * 项目创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;
    /**
     * 项目完结状态
     */
    private Integer proStatus;
    /**
     * 提报计划总数
     */
    private Integer rppImportCount;
    /**
     * 计划未完成率
     */
    private String planUnfinishedRate;
    /**
     * 暂不提报的计划总数
     */
    private Integer noReportForTheTimeBeingCount;
    /**
     * 使用库存并指定的计划总数
     */
    private Integer confirmUseOfStockCount;
    /**
     * 正常提报且采购<br>计划提交总数
     */
    private Integer processAndSubmitThePurchasePlanCount;
    /**
     * 设计状态
     */
    private Integer sectionTaskStatus;
    /**
     * 物控科原料状态
     */
    private Integer proMatStatus;
    private String proMatStatusStr;
    /**
     * 物控科外购件状态
     */
    private Integer proPurStatus;
    private String proPurStatusStr;
    /**
     * 物控科外协件状态
     */
    private Integer proSubcontractStatus;
    private String proSubcontractStatusStr;
    /**
     * 物控科外购需求时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date proPurchaseDemandDate;

    private Date startDate;
    private Date endDate;
    public Date getEndDate() {
        if(endDate!=null){
            Calendar cal = Calendar.getInstance();
            cal.setTime(endDate);
            cal.add(Calendar.DAY_OF_YEAR, 1);
            endDate = cal.getTime();
        }
        return endDate;
    }
    /**
     * 是否用提报计划：1是 2是 否
     */
    private Integer havePlan;

    /**
     * 是否完成：1=是，2=否
     */
    private Integer isFinish;
    /**
     * 生产完成状态：0=未完成,1=完成，2执行中
     */
    private Integer status;
    /**
     * 终止生产状态：1=生产，2=终止，3-暂缓
     */
    private Integer prodManSta;
    /**
     * 是否需要生产：1=是，0=否
     */
    private Integer productStatus;
}